package com.arraymasterx.service;

import com.arraymasterx.model.request.SearchRequest;
import com.arraymasterx.model.request.SortRequest;
import com.arraymasterx.model.request.MatrixRequest;
import com.arraymasterx.model.response.SearchResponse;
import com.arraymasterx.model.response.SortResponse;
import com.arraymasterx.model.response.MatrixResponse;

public interface AlgorithmService {
    SearchResponse binarySearch(SearchRequest request);

    SortResponse sort(SortRequest request, String algorithm);

    MatrixResponse multiplyMatrices(MatrixRequest request);

    MatrixResponse inverseMatrix(MatrixRequest request);

    int matrixDeterminant(MatrixRequest request);
}